home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet 53
/
INTERNET53.iso
/
mac
/
SOFTWARE
/
MAC
/
MULTIMEDIA
/
SOUNDEFFECTS
/
SOUNDEFFECTS-092.HQX
/
SoundEffects 0.9.2 %c4
/
SoundEffects Developer%d5s Kit
/
Interfaces
/
Glue.c
next >
Wrap
C/C++ Source or Header
|
1994-11-21
|
2KB
|
79 lines
#include "Glue.h"
#include "ModA4Globals.h"
#if defined(powerc) || defined(__powerc) // we’re running on a Power Mac
ProcInfoType __procinfo = kPascalStackBased
| RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
| STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(OSType)))
| STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ModParamsPtr)))
| STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(GluePtr)))
| STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(GluePtr)));
#endif
#if defined(powerc) || defined(__powerc)
#define availGlue gluePPC
#else
#define availGlue glue68k
#endif
pascal OSErr main(OSType message, ModParamsPtr modInfo, GluePtr glue68k, GluePtr gluePPC)
{
ModSettingsHandle prefs = 0L;
long world;
OSErr error;
MAIN_SETUP_GLOBALS(world);
switch (message)
{
case kMsgRun:
error = GetModSettings(modInfo, availGlue, &prefs);
if (error == noErr)
error = effect(modInfo, availGlue, &prefs);
break;
case kMsgSettings:
error = settings(modInfo, availGlue, &prefs);
break;
case kMsgSettingsRun:
error = settings(modInfo, availGlue, &prefs);
if (error == noErr || error == kModHasNoSettings)
error = effect(modInfo, availGlue, &prefs);
break;
case kMsgHeadersVers:
*(long *)glue68k = kHeadersVersion;
error = noErr;
break;
case kMsgAbout:
error = about((ModAboutPtr)modInfo);
break;
default:
error = kModUnknownMessage;
}
if (prefs)
DisposHandle((Handle)prefs);
MAIN_RESTORE_GLOBALS(world);
return error;
}
// GetModSettings and settings return, in prefs, either nil or a valid handle.
// effect must take care of disposing it.
long SetupEffectWorld(void)
{
long world;
TEMP_SETUP_GLOBALS(world);
return world;
}
void RestoreEffectWorld(long world)
{
TEMP_RESTORE_GLOBALS(world);
}